Appearance
1、为什么设计成线程安全?
不同协程通过 channel 进行通信,本身的使用场景就是多线程,为了保证数据的一致性,必须实现线程安全
2、如何实现线程安全的?
channel 的底层实现中,hchan 结构体中采用 Mutex 锁来保证数据读写安全。在对循环数组 buf 中的数据进行入队和出队操作时,必须先获取互斥锁,才能操作 channel 数据